#!/bin/bash

:<< EOF
快速git提交
EOF
# 定义全局变量
declare -A opt;
# 定义短变量
short_opt="f:m:"
# 定义长变量
long_opt="file:,mes:"
# 定义参数
opt=([f]="/home/molio/workspace/bar-database/.jenkins/barda.tar.gz")
opt+=([m]="同步数据到开发环境")
# 定义其他变量
args=""


run_com() {
    db_tar=${opt[f]}
    git add $db_tar
    git commit $db_tar -m ${opt[m]}
}

parse_args() {
    GETOPT_ARGS=$(getopt -o $short_opt -al $long_opt -- "$@")
    eval set -- "$GETOPT_ARGS"

    while test -n "$1" ; do
        case "$1" in
            -f|--file) opt[f]=$2; shift 2;;
            -m|--mes) opt[m]=$2; shift 2;;
            *) break ;;
        esac
    done
    args="$@"
}

help_show() {
    cat << EOF
dev_com
    run 默认追踪jenkins下的barda.tar.gz,其提交内容为"同步数据到开发环境"
    run -f [要追踪的文件] -m [指定文件的提交内容]
    run --file [要追踪的文件] --mes [指定文件的提交内容]
EOF
}

scriptfile=$0
cmd="$1"
grep -qw -e "$cmd" <<< "run|help" && shift
parse_args "$@"

case "$cmd" in
    run)
        run_com $args
        ;;
    help|*)
        help_show
        ;;
esac
